1 ContOS7 外接硬碟

如果你的外接硬碟要同時擁有 Windows 與 CentOS7,建議先安裝 Windows 再安裝 CentOS7

1.1 CentOS7 安裝

如果你手邊有容量超過 10 GB 的隨身碟,你可以將其格式化並做成 CentOS7 開機用的隨身碟,請見這裡,如果沒有,你可以使用 Virtualbox,請見這裡,完成初始化安裝後,兩者的後續動作相同

1.1.1 前置作業

點擊這裡下載 CentOS7 x86_64 的 iso 檔

如果有必要,就將外接硬碟的一部份切割成 exfat 格式,作為 CentOS 辨識的格式化區域和安裝位置

1.1.2 方法一: 製作 CentOS7 開機隨身碟進行初始化安裝

1.1.2.1 製作 CentOS7 開機隨身碟

移除外接硬碟,插入隨身碟,執行指令 diskutil list 並尋找 external, physical 的磁區–你的隨身碟,如圖 1.1 所示,以下三個指令以此為基準

隨身碟位置

Figure 1.1: 隨身碟位置

輸入指令 diskutil unmountDisk /dev/disk2 來卸載隨身碟,然後輸入 sudo dd if=<CentOS.iso 位置> of=/dev/disk2 來將映像檔燒錄至隨身碟內,這個過程需要半小時到一小時,完成後輸入 diskutil eject /dev/disk2 退出隨身碟

如果燒錄隨身碟出現錯誤訊息,就改為在還原模式下的終端機進行操作(開機時按住 command + R,在上方的選單可以找到終端機,此時不需要 sudo)

1.1.2.2 進行初始化安裝

將電腦關機,插入外接硬碟、開機隨身碟和 USB 滑鼠,按住 option 鍵開機,選擇 EFI Boot,選擇 install CentOS 7,等到進入設定頁面後,選擇語言,進入主要設定

  • 軟體選擇: 本例使用 GNOME 桌面環境設置,並且附加基本開發工具
  • 安裝目的地: 選擇外接硬碟之後按完成,系統會說你沒有足夠的空間,選擇取回空間,選擇你要安裝的磁區(先前切出的 exfat 磁區)按下清除,選擇它作為 CentOS 的安裝位置,完成設定

以上設定完成後就可以開始安裝了,這段期間可以將 USB 鍵盤取代 USB 滑鼠,設定管理員密碼和新增使用者,在畫面顯示重開機時關閉此電腦

1.1.3 方法二: 使用 Virtualbox 進行初始化安裝

1.1.3.1 新增虛擬硬碟

下載Virtualbox

在終端機輸入diskutil list 並尋找 external, physical 的磁區–你的外接硬碟,如圖 1.2 所示

外接硬碟位置

Figure 1.2: 外接硬碟位置

卸載你的外接硬碟,然後輸入以下指令來建立一個名為 bootcampC 虛擬硬碟(記得把 /dev/disk2 換成你的位址),看到 RAW host disk access VMDK file bootcampC.vmdk created successfully. 訊息就可以了

sudo VBoxManage internalcommands createrawvmdk -filename bootcampC.vmdk -rawdisk /dev/disk2

1.1.3.2 新增虛擬機

執行指令,以管理員身份執行 Virtualbox

sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox

新增一台虛擬機,類型為 Linux,版本為 Red Hat (64-bit),選擇預設記憶體容量,使用現有虛擬硬碟檔案,點擊資料夾圖示,加入剛才建立的虛擬硬碟(預設在使用者的根目錄內),如圖 1.3 所示,選擇它,確認外接硬碟已卸載後建立

使用現有虛擬硬碟

Figure 1.3: 使用現有虛擬硬碟

1.1.3.3 設定虛擬機

點擊剛才建立的虛擬機作設定,如圖 1.4 所示

設定虛擬機

Figure 1.4: 設定虛擬機

  • 系統
    • 指標裝置: USB 平板電腦
    • 啟用 EFI
    • 關閉 UTC 硬體時鐘選項
  • 存放裝置
    • 控制器 SATA: 使用主機 I/O 快取
    • 控制器 IDE:
      • 光碟機: 點擊右側藍色光碟圖示,選擇磁碟檔,選擇先前下載的 CentOS7 映像檔

完成設定後儲存並關閉 Virtualbbox,在終端機輸入以下指令來防止虛擬機自動重開機(將 CentOS7 換成你的虛擬機名稱),這樣以後的安裝會方便些

sudo VBoxManage setextradata CentOS7 "VBoxInternal/PDM/HaltOnReset" 1

1.1.3.4 進行 CentOS 初始化安裝

打開 Virtualbox

sudo /Applications/VirtualBox.app/Contents/MacOS/VirtualBox

卸載外接硬碟後打開虛擬機,選擇 install CentOS 7,等到進入設定頁面後,選擇語言,進入主要設定

  • 軟體選擇: 本例使用 GNOME 桌面環境設置,並且附加基本開發工具
  • 安裝目的地: 點進來之後直接按完成,系統會說你沒有足夠的空間,選擇取回空間,選擇你要安裝的磁區(先前切出的 exfat 磁區)按下清除,選擇它作為 CentOS 的安裝位置,完成設定

以上設定完成後就可以開始安裝了,這段期間設定管理員密碼和新增使用者,在畫面顯示重開機時關閉此虛擬機

1.1.4 完成 CentOS 安裝

插入 USB 滑鼠和鍵盤,按住 option 鍵重新開機,就會進入開機硬碟選單,選擇 EFI Boot,你會看到二個選擇—CentOS Linux 3.10.* 和 CentOS Linux 0-rescue-*—選擇 3.10 看看執行結果

1.1.4.1 可以正常開機

接受授權條款完成安裝

1.1.4.2 出現 /boot 不存在的相關錯誤訊息

將電腦重開機,改選 0-rescue 選項,接受授權條款完成安裝

打開終端機輸入 sudo dracut -f 指令,系統會將磁碟分割到完善的狀態,完成後將電腦重新開機,之後就能使用內核 3.10 版本的 CentOS

1.2 手動編譯核心和驅動程式

首先要確定網路可以連線,本例使用的 Broadcom BCM43602 網卡在 CentOS7 的驅動不夠完善,所以需要先完成此網卡的驅動

1.2.1 Broadcom BCM43602 802.11ac [14e4:43ba] 驅動方法

在終端機輸入以下指令來確認網卡類型

lspci -nn | grep Net

以本例而言為 BCM43602,先在其他有網路的地方下載驅動文字檔,然後將其傳輸到 CentOS 並將其放置在 /lib/firmware/brcm/

嘗試連線至任意 wifi,點擊 wifi 設定,在身份標籤下複製你的 MAC 位址,如圖 1.5 所示

尋找 MAC 位址

Figure 1.5: 尋找 MAC 位址

修改剛才放置的文字檔的三個參數,如圖 1.6 所示

brcm43602 設定

Figure 1.6: brcm43602 設定

  • macaddr=00:90:4c:0d:f4:3e (你的 MAC 位址)
  • ccode=0
  • regrev=0

重新開機,現在你應該可以連線了

1.2.2 前置作業

用指令 su - 成為 root 使用者,然後切換至此資料夾內

cd /usr/src/kernels

如果存在網路連線,使用以下指令得到內核資料夾,然後下載編譯核心所需要使用的其他工具套件,本例使用 4.19.195 版本

# 下載內核
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.195.tar.xz

# 第一次解壓縮,得到壓縮檔
unxz -v linux-4.19.195.tar.xz

# 第二次解壓縮,得到資料夾
tar xvf linux-4.19.195.tar

# 移動至核心資料夾內
cd linux-4.19.195

# 將現有組態檔複製於此處備用
cp -v /boot/config-$(uname -r) .config

如果網路連線不存在,你也可以先在其他地方下載核心原程式碼,解壓縮後放在 /usr/src/kernels,然後將現有組態檔複製於此核心資料夾備用

1.2.3 安裝必要套件

網路存在時,使用指令安裝必要套件

# 安裝編譯核心套件
yum install ncurses-devel elfutils-libelf-devel openssl-devel

如果沒有網路連線,就改為下載它們的 rpm 檔

然後用下面指令將所有 rpm 檔案依照順序安裝

rpm -ivh /PATH/FILE_NAME.RPM

1.2.4 選擇編譯核心模組和驅動程式

使用以下指令進入核心組態設定

make menuconfig

新增 Device Drivers -> SPI support -> PXA2xx SSP SPI master 模組,此模組為驅動 mac 鍵盤的必要模組,如圖 1.7 所示,完成後儲存成 .config

新增 PXA2xx 模組

Figure 1.7: 新增 PXA2xx 模組

1.2.5 編譯和安裝核心

執行 make -j $(nproc) 就能開始編譯核心,這個步驟大約會花費一個小時,接著執行 make modules_install 就能安裝核心模組,完成後再執行 make install 進行核心的安裝,

1.2.6 grub2 選單設定

目前 grub 開機選單預設值是 3.10,如果要調整預設值為 4.19,執行以下指令

# 查看可以使用的核心選項
grub2-mkconfig -o /boot/grub2/grub.cfg

# 將新核心設定為預設值
grubby --set-default /boot/vmlinuz-4.19.195

# 查看設定結果
grubby --info=ALL | more
grubby --default-index
grubby --default-kernel

重新開機後,你就能看到 grub 選單新增了剛才安裝的新核心,且預設值為你安裝的新核心

1.3 macbook 鍵盤驅動

下載這裏的資料夾,用 makemake install 安裝後重新開機

1.4 macbook touchbar驅動

下載這裏的資料夾,用 makemake install 安裝後重新開機